using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("StoreSendToBAM")]
	public class StoreSendToBAM : UIBPopup
	{
		public enum BAMReason
		{
			PAYMENT_INFO,
			NEED_PASSWORD_RESET,
			NO_VALID_PAYMENT_METHOD,
			CREDIT_CARD_EXPIRED,
			GENERIC_PAYMENT_FAIL,
			EULA_AND_TOS,
			PRODUCT_UNIQUENESS_VIOLATED,
			GENERIC_PURCHASE_FAIL_RETRY_CONTACT_CS_IF_PERSISTS
		}

		[Attribute38("StoreSendToBAM.SendToBAMText")]
		public class SendToBAMText : MonoClass
		{
			public string m_headlineKey => method_4("m_headlineKey");

			public string m_detailsKey => method_4("m_detailsKey");

			public string m_goToURLKey => method_4("m_goToURLKey");

			public StoreURL m_url => method_3<StoreURL>("m_url");

			public SendToBAMText(IntPtr address, string className)
				: base(address, className)
			{
			}

			public SendToBAMText(IntPtr address)
				: this(address, "SendToBAMText")
			{
			}

			public string GetHeadline()
			{
				return method_13("GetHeadline");
			}

			public string GetDetails()
			{
				return method_13("GetDetails");
			}

			public string GetGoToURLDetails(string buttonName)
			{
				return method_13("GetGoToURLDetails", buttonName);
			}

			public string GetURL()
			{
				return method_13("GetURL");
			}
		}

		public UIBButton m_okayButton => method_3<UIBButton>("m_okayButton");

		public UIBButton m_cancelButton => method_3<UIBButton>("m_cancelButton");

		public UberText m_headlineText => method_3<UberText>("m_headlineText");

		public UberText m_messageText => method_3<UberText>("m_messageText");

		public MultiSliceElement m_allSections => method_3<MultiSliceElement>("m_allSections");

		public GameObject m_midSection => method_3<GameObject>("m_midSection");

		public GameObject m_sendToBAMRoot => method_3<GameObject>("m_sendToBAMRoot");

		public Transform m_sendToBAMRootWithSummaryBone => method_3<Transform>("m_sendToBAMRootWithSummaryBone");

		public StoreMiniSummary m_miniSummary => method_3<StoreMiniSummary>("m_miniSummary");

		public PegUIElement m_offClickCatcher => method_3<PegUIElement>("m_offClickCatcher");

		public static string SEND_TO_BAM_THEN_HIDE_COROUTINE => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "SEND_TO_BAM_THEN_HIDE_COROUTINE");

		public static string FMT_URL_RESET_PASSWORD => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_RESET_PASSWORD");

		public static string FMT_URL_NO_PAYMENT_METHOD => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_NO_PAYMENT_METHOD");

		public static string FMT_URL_PAYMENT_EXPIRED => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_PAYMENT_EXPIRED");

		public static string FMT_URL_GENERIC_PAYMENT_FAIL => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_GENERIC_PAYMENT_FAIL");

		public static string FMT_URL_EULA_AND_TOS => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_EULA_AND_TOS");

		public static string FMT_URL_PURCHASE_UNIQUENESS_VIOLATED => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "FMT_URL_PURCHASE_UNIQUENESS_VIOLATED");

		public static Vector3 SHOW_MINI_SUMMARY_SCALE_PHONE => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "StoreSendToBAM", "SHOW_MINI_SUMMARY_SCALE_PHONE");

		public Vector3 m_originalShowScale => method_2<Vector3>("m_originalShowScale");

		public BAMReason m_sendToBAMReason => method_2<BAMReason>("m_sendToBAMReason");

		public MoneyOrGTAPPTransaction m_moneyOrGTAPPTransaction => method_3<MoneyOrGTAPPTransaction>("m_moneyOrGTAPPTransaction");

		public string m_errorCode => method_4("m_errorCode");

		public StoreSendToBAM(IntPtr address, string className)
			: base(address, className)
		{
		}

		public StoreSendToBAM(IntPtr address)
			: this(address, "StoreSendToBAM")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Show(MoneyOrGTAPPTransaction moneyOrGTAPPTransaction, BAMReason reason, string errorCode, bool fromPreviousPurchase)
		{
			method_8("Show", moneyOrGTAPPTransaction, reason, errorCode, fromPreviousPurchase);
		}

		public new void OnHidden()
		{
			method_8("OnHidden");
		}

		public void OnOkayPressed(UIEvent e)
		{
			method_8("OnOkayPressed", e);
		}

		public bool OnCancel()
		{
			return method_11<bool>("OnCancel", Array.Empty<object>());
		}

		public void OnCancelPressed(UIEvent e)
		{
			method_8("OnCancelPressed", e);
		}

		public void UpdateText()
		{
			method_8("UpdateText");
		}

		public void LayoutMessageText()
		{
			method_8("LayoutMessageText");
		}
	}
}
